The present invention relates to the modification of bitmap-images, and more particularly to the use of pattern matching in a computer or imaging system to improve the appearance of bitmap-images in hard copy computer output devices.
In the output of raster-scan imaging printers, diagonal edges in images may appear coarse or ragged. This is due to a limited spatial frequency between adjacent picture elements (pixels) or print elements (pels) and/or a limited gray-scale capability. This effect is formally known as "aliasing".
Several methods have been disclosed for improving image quality in printing systems by reducing aliasing. In "Improved Print Quality by Recording Power Modulation" by J. L. Crawford and C. D. Elzings, published May 25, 1988 by the Information Products Division of the I.B.M. Corporation, a method for improving bitmap-images is shown. To improve bitmap-image quality, the recording power can be modulated in response to decisions made by comparing the input data to a two-dimensional pattern. Furthermore, the improvements in bitmap-image quality are shown to have a large impact on human factors engineering. Other references relating to improving image quality are discussed below.
In U.S. Pat. No. 4,780,711 to Doumas, an assumed boundary lines method is described. In this method, an array of pixels in an image is selected and compared to a plurality of predetermined pixel array patterns. When a match is found, an assumed contour line is determined running through the array. The intensity of the center pixel of the array is chosen based on the angle of the assumed line through the array.
In U.S. Pat. No. 4,517,604 to Lasher et al., print element (pel) data is scanned into two arrays. The first array is scanned row by row to identify any black or white pel runs. White or black pels in the second array are overwritten with gray pels as a function of the pel runs identified in the first array. The method is then repeated column by column. The resulting second array will have reduced line width variations when compared to the first array.
U.S. Pat. No. 4,437,122 to Walsh et al. utilizes shift registers with decoders to generate an appropriate signal. Successive lines of pixel data are stored in successive parallel shift registers that are coupled to decoders. In these decoders, pixels surrounding a specific pixel are compared to each other in order to generate print head driving signals depending on whether curved or straight lines are being formed.
Another approach in controlling quality is shown in U.S. Pat. No. 4,486,785 to Lasher et al., where gray scale pels are introduced in close proximity to unit steps in a bitmap image. Whenever a unit step is found, the distance between the step and the nearest transition is computed. This distance is used in a look-up table for the appropriate gray scale values.
In U.S. Pat. No. 4,646,355 to Petrick et al., a method is shown for the removal of unwanted dots and voids. In this method, the user defines the smallest data item of a bitmap. Images smaller than this data item are removed in accordance with comparisons performed in a pixel window. In an n X n window of pixels, pixels along the perimeter are examined. If bordering pixels are of the same intensity, the internal pixels are changed to match these bordering pixels.
In U.S. Pat. No. 4,681,424 to Kantor et al., a method is disclosed for increasing the width of single pixel lines by advancing the leading edge of pulses defining a white-to-black transition and delaying the trailing edge of pulses defining a black-to-white transition. For lines parallel to the scan direction, gray pulses are added to widen lines.
In U.S. Pat. No. 4,847,641 to Tung, a method is disclosed for image enhancement through template matching. Piecewise bitmap patterns are matched to replace the central bit in the pattern with a unique compensation bit.
The use of stored bit arrays has been shown in other disclosures. A problem with the processes noted above is that the bit image manipulations are generally static and unchangeable. Also, the aforementioned methods do not address the possibility of using a different set of patterns on the same bitmap-image.